Composite infrastructures used with computer systems oftentimes have an information architecture environment which has a number of interconnected complex object nodes. Each object node may have independent tree-like structures comprising hierarchies of interconnected complex subordinate object nodes of information wherein each subordinate object node may further comprise independent sub-tree structures of interconnected sub-nodes of information.
Computer systems using the infrastructures may run processes wherein the processes concurrently access the infrastructures. In particular, a computer system may run a number of processes each requiring access to complex infrastructures comprising data base architectures. A process may require access to one, several or all of the infrastructure nodes many times during the running of the process. In order to insure continuity of operation, a process may apply an exclusive lock against a node that will operate against the node and against all the lower hierarchical subordinate and sub-nodes in the tree structure of the locked node to allow only the process holding the exclusive lock to write into and read information from the locked node. In addition, all ancestor nodes of the node assigned an exclusive lock are assigned an intermediate exclusive lock to ensure consistency of information. During the time that a process holds the exclusive lock, other processes concurrently running on computers served by the complex infrastructures are prevented from writing into and reading information from the node and subordinate and sub-nodes located in the tree structure of the node to which the exclusive lock was applied. A process may also apply a share lock against a node, the node subservient tree structure and an intermediate share lock against ancestor nodes of the share locked node that allows the process and other processes to only read information from the nodes but which operates to prevent a process from applying an exclusive lock thereto.
A problem arises during the operation of multiple processes in that several concurrently running processes may be required to apply and remove locks to and from various ones of the infrastructure nodes at widely varying times during the running of the processes. Another problem arises in that some way is required to keep a running account of each type of lock that is applied to and removed from each infrastructure node during the running of computer processes.